
/*
 * @Date: 2024-11-22 10:06:39
 * @Author: LiSong
 * @LastEditors: LiSong
 * @LastEditTime: 2025-02-17 14:45:08
 * @Description: 数据面板配置
 */

import schema from './schema.js'
import { useDbSource } from '@hp/hooks/useDbSource.js'

const { loadDataCols } = useDbSource()

export default {
  // 组件
  component: () => import("./DataBoard1.vue"),
  // 类型
  type: 'databoard',
  // 名称
  name: '数据面板1',
  // 图标或图片
  icon: 'pi/data-board1.png',
  // 初始配置
  schema,
  // 大小定位
  layout: {
    i: '',
    x: '',
    y: '',
    w: 24,
    h: 12,
    minW: 24,
    minH: 12,
    maxW: 60,
    maxH: 24,
    static: false,
  },
  // 配置
  config: [
    {
      config: {
        label: '基础配置'
      },
      children: [
        {
          type: 'input',
          field: 'desc',
          label: '描述',
          compProps: {
          }
        },
        // {
        //   type: 'input-color',
        //   field: 'numColor',
        //   label: '数字颜色',
        //   compProps: {
        //   }
        // },
        // {
        //   type: 'select',
        //   field: 'iconType',
        //   label: '图标类型',
        //   compProps: {
        //     options: [
        //       { value: "img", label: "图片" },
        //       { value: "icon", label: "图标" },
        //       { value: "none", label: "无" }
        //     ]
        //   }
        // },
        {
          type: 'input-icon',
          field: 'icon',
          label: '图标选择',
          compProps: {
            // getUpConfig ({ schema }) {
            //   return {
            //     display: schema.iconType === 'icon'
            //   }
            // }
          }
        },
        // {
        //   type: 'input',
        //   field: 'image',
        //   label: '图片选择',
        //   compProps: {
        //     getUpConfig ({ schema }) {
        //       return {
        //         display: schema.iconType === 'img'
        //       }
        //     }
        //   }
        // },
      ]
    },
    {
      config: {
        label: '数据配置'
      },
      children: [
        {
          type: 'input-dbsource',
          field: 'dataSource',
          label: '数据源',
          noForm: false,
          compProps: {
          }
        },
        {
          type: 'select',
          field: 'dataKeys.v1',
          label: '主指标',
          compProps: {
            clearable: true,
            getUpConfig ({ schema }) {
              return {
                options: loadDataCols(schema),
              }
            }
          }
        },
        {
          type: 'select',
          field: 'dataKeys.v2',
          label: '副指标',
          compProps: {
            clearable: true,
            getUpConfig ({ schema }) {
              return { 
                options: loadDataCols(schema),
              }
            }
          }
        },
      ]
    },
    {
      config: {
        label: '事件配置'
      },
      children: [
        {
          type: 'event-onclick',
          field: 'onClick',
          label: 'onClick',
          compProps: {
            eventName: 'onClick',
          }
        },
      ]
    }
  ]
}